#!/bin/bash

# 检查是否提供了目录参数
if [ $# -eq 0 ]; then
    echo "请提供要处理的目录路径"
    exit 1
fi

# 获取要处理的目录路径
target_dir="$1"

# 检查目录是否存在
if [ ! -d "$target_dir" ]; then
    echo "错误：指定的目录不存在"
    exit 1
fi

# 递归函数来检查和删除目录
check_and_delete() {
    local dir="$1"
    local only_main_log=true
    local has_subdirs=false

    # 遍历当前目录的内容
    for item in "$dir"/*; do
        if [ -d "$item" ]; then
            has_subdirs=true
            # 递归检查子目录
            check_and_delete "$item"
        elif [ "$(basename "$item")" != "main.log" ]; then
            only_main_log=false
        fi
    done

    # 如果目录只包含main.log并且没有子目录，则删除它
    if $only_main_log && ! $has_subdirs; then
        echo "删除目录: $dir"
        rm -rf "$dir"
    fi
}

# 开始处理目标目录
check_and_delete "$target_dir"

echo "处理完成"